//package exercise.channel.actualcombat.producerconsumer
//
//import com.ww.exercise.channel.actualcombat.producerconsumer.StressTestResult
//import com.ww.exercise.channel.actualcombat.producerconsumer.StressTester
//import kotlinx.coroutines.delay
//
///**
// * 运行所有压测场景
// */
//suspend fun runAllStressTests() {
//    val tester = StressTester()
//    val results = mutableListOf<StressTestResult>()
//
//    // 运行所有压测场景
//    try {
//        results.add(tester.testBurstTraffic())
//    } catch (e: Exception) {
//        println("突发流量压测失败: ${e.message}")
//    }
//
//    delay(2000) // 场景间间隔
//
//    try {
//        results.add(tester.testSustainedHighLoad())
//    } catch (e: Exception) {
//        println("持续高负载压测失败: ${e.message}")
//    }
//
//    delay(2000)
//
//    try {
//        results.add(tester.testSlowConsumer())
//    } catch (e: Exception) {
//        println("极慢消费者压测失败: ${e.message}")
//    }
//
//    delay(2000)
//
//    try {
//        results.add(tester.testMemoryStress())
//    } catch (e: Exception) {
//        println("内存极限压测失败: ${e.message}")
//    }
//
//    delay(2000)
//
//    try {
//        results.add(tester.testMixedWorkload())
//    } catch (e: Exception) {
//        println("混合负载压测失败: ${e.message}")
//    }
//
//    delay(2000)
//
//    try {
//        results.add(tester.testShutdownUnderLoad())
//    } catch (e: Exception) {
//        println("关闭压力测试失败: ${e.message}")
//    }
//
//    // 输出总结报告
//    printSummaryReport(results)
//}
//
///**
// * 输出压测总结报告
// */
//fun printSummaryReport(results: List<StressTestResult>) {
//    println("\n" + "★".repeat(70))
//    println("★                       压测总结报告                         ★")
//    println("★".repeat(70))
//
//    results.forEachIndexed { index, result ->
//        println("${index + 1}. ${result.scenario}")
//        println("   吞吐量: ${"%.2f".format(result.throughput)} 项目/秒")
//        println("   成功率: ${"%.2f".format(result.successRate * 100)}%")
//        println("   关闭状态: ${if (result.shutdownResult.success) "成功" else "失败"}")
//        println()
//    }
//
//    val avgThroughput = results.map { it.throughput }.average()
//    val avgSuccessRate = results.map { it.successRate }.average() * 100
//    val successfulShutdowns = results.count { it.shutdownResult.success }
//
//    println("总体统计:")
//    println("   平均吞吐量: ${"%.2f".format(avgThroughput)} 项目/秒")
//    println("   平均成功率: ${"%.2f".format(avgSuccessRate)}%")
//    println("   成功关闭率: ${successfulShutdowns}/${results.size}")
//    println("★".repeat(70))
//}
//
///**
// * 单个压测运行示例
// */
//suspend fun main() {
//    println("开始极限压测...")
//
//    // 运行单个测试
//    val tester = StressTester()
//    val result = tester.testBurstTraffic()
//    result.printReport()
//
//    // 或者运行所有测试
//    // runAllStressTests()
//}